package graphic;
import java.awt.BorderLayout;
import java.util.StringTokenizer;
import javax.swing.JFrame;
import javax.swing.JTextField;
import listeners.OperationListener;
import listeners.ReadKeyListener;
import polynomials.Polynom;
@SuppressWarnings("serial")
public class Application extends JFrame {
private MainPanel panel = new MainPanel();
private Polynom p1;
private Polynom p2;
public Application() {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.setTitle("Polynom");
frame.setSize(450, 450);
frame.add(this.panel, BorderLayout.CENTER);
frame.setResizable(false);
OperationListener operationListener = new OperationListener(this);
panel.getAdd().addActionListener(operationListener);
panel.getSubstract().addActionListener(operationListener);
panel.getMultiplication().addActionListener(operationListener);
panel.getDerivate().addActionListener(operationListener);
panel.getIntegrate().addActionListener(operationListener);
panel.getDivision().addActionListener(operationListener);
ReadKeyListener key1 = new ReadKeyListener(this, 1);
ReadKeyListener key2 = new ReadKeyListener(this, 2);
panel.getTextPol1().addKeyListener(key1);
panel.getTextPol2().addKeyListener(key2);
}
public Polynom readPolynom(JTextField textField) {
int coef[] = new int[10];
int i = 0;
StringTokenizer c = new StringTokenizer(textField.getText().toLowerCase().trim());
while (c.hasMoreTokens()) {
coef[i] = Integer.parseInt(c.nextToken());
i++;
}
Polynom p = new Polynom(i - 1, coef);
return p;
}
public void reset() {
this.p1 = readPolynom(panel.getTextPol1());
this.p2 = readPolynom(panel.getTextPol2());
}
public Polynom getP1() {
return p1;
}
public Polynom getP2() {
return p2;
}
public void updateOutputText(String string) {
panel.getAreaOutput().setText(string);
}
public MainPanel getPanel() {
return panel;
}
public void setP1(Polynom p1) {
this.p1 = p1;
}
public void setP2(Polynom p2) {
this.p2 = p2;
}
}